<?php
    //参数1：访问的URL，参数2：post数据(不填则为GET)，参数3：提交的$cookies,参数4：是否返回$cookies
    function curl_request($url,$post=false,$cookie=false, $returnCookie=false){
        $curl = curl_init();
        $this_header = array(
            "content-type:application/json"
        );
        curl_setopt($curl, CURLOPT_HTTPHEADER,$this_header);
        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)');
        curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
        curl_setopt($curl, CURLOPT_AUTOREFERER, 1);
        curl_setopt($curl, CURLOPT_REFERER, "http://XXX");
        if($post) {
            curl_setopt($curl, CURLOPT_POST, 1);
            curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($post));
        }
        if($cookie) {
            curl_setopt($curl, CURLOPT_COOKIE, $cookie);
        }
        curl_setopt($curl, CURLOPT_HEADER, $returnCookie);
        curl_setopt($curl, CURLOPT_TIMEOUT, 10);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        $data = curl_exec($curl);
        if (curl_errno($curl)) {
            return curl_error($curl);
        }
        curl_close($curl);
        if($returnCookie){
            list($header, $body) = explode("\r\n\r\n", $data, 2);
            preg_match_all("/Set\-Cookie:([^;]*);/", $header, $matches);
            $info['cookie']  = substr($matches[1][0], 1);
            $info['content'] = $body;
            return $info;
        }else{
            return $data;
        }
    }
    // 操作成功返回
    function success($data=[],$message=''){
        header('content-type:application/json');
        $arr=array(
            'rc'=>0,
            'msg'=>$message,
            'data'=>$data
        );
        echo json_encode($arr);
        die();
    }
    //操作失败返回
    function error($message='',$data=[],$rc=1){
        header('content-type:application/json');
        $arr=array(
            'rc'=>$rc,
            'msg'=>$message,
            'data'=>$data
        );
        echo json_encode($arr);
        die();
    }
    //系统级报错返回
    function error_sys($message='系统错误',$rc=-1,$data=[]){
        header('content-type:application/json');
        $arr=array(
            'rc'=>$rc,
            'msg'=>$message,
            'data'=>$data
        );
        echo json_encode($arr);
        die();
    }
    //随机字符串
    function randstr($length){
        $strs="QWERTYUIOPASDFGHJKLZXCVBNM1234567890";
        $name=substr(str_shuffle($strs),mt_rand(0,strlen($strs)-11),$length);
        return $name;
    }
?>